// 8. object 类型   - 不严谨，不建议使用
var obj;
obj = { name: 'zs', age: 20 };
obj = [1, 2, 3];
obj = function () { };
// 9. Array 数组类型
// 方式一
var arr;
arr = [1, 2, 3];
// 方式二 构造函数+ 标记的格式指定类型
var arr1;
arr1 = ['a', 'b'];
var arr2;
arr2 = ['a', 'b', 10];
// 10. Tuple /ˈtʌpəl/  元组类型
// 基于数组，更加严格限制了数组的长度和类型
var names;
names = ['詹姆斯', '科比', false];
// 扩展 以元组格式定义的数组 - 多维数组
var arr3;
arr3 = [['a', 1], ['v', 4]];
// 11. 枚举类型
// 在固定的几项数据中进行列出
var List;
(function (List) {
    List[List["Hello"] = 0] = "Hello";
    List[List["Hi"] = 1] = "Hi";
    List[List["Bonjour"] = 2] = "Bonjour";
})(List || (List = {}));
// 使用枚举类型的数据
var n;
n = List.Hello;
n = List.Bonjour;
// 默认的值是0
// console.log(n);
var List1;
(function (List1) {
    List1[List1["Hello"] = 10] = "Hello";
    List1[List1["Hi"] = 8] = "Hi";
    List1[List1["Bonjour"] = 78] = "Bonjour";
})(List1 || (List1 = {}));
// 如果修改了其中的值，那么索引就会接着往后继续增加
var n1 = List1.Bonjour;
// console.log(n1);
var List2;
(function (List2) {
    List2[List2["Hello"] = 0] = "Hello";
    List2["Hi"] = "Hi";
    List2["Bonjour"] = "Bonjour";
})(List2 || (List2 = {}));
// 改了一个字段为非数值，后续的字段则都需要改
var n3 = List2.Bonjour;
console.log(n3);
